package com.hurl.waguji.base;

import java.text.DecimalFormat;
import java.util.Date;

import com.hurl.library.util.DateUtils;
import com.hurl.library.util.StringUtils;

public class Formatter {

	public static Date toDate(String value){
		return toDate(value,DateUtils.FORMAT_DATE);
	}
	public static String formatDouble(Double d){
		if(d==null){
			return null;
		}
		DecimalFormat format = new DecimalFormat("0.00");
		return format.format(d);
	}
	public static Date toDate(String value,String format){
		if(StringUtils.isBlank(value) || value.equals("--") || value.equals("-")){
			return null;
		}
		try{
			return DateUtils.parseDate(value, format);
		}catch(Exception e){
			e.printStackTrace();
			return null;
		}
	}
	public static String toString(String value){
		if(StringUtils.isBlank(value) || value.equals("--") || value.equals("-")){
			return null;
		}else{
			return value.trim();
		}
	}
	public static Double toDouble(String value){
		if(StringUtils.isBlank(value) || value.equals("--") || value.equals("-")){
			return 0.0;
		}else{
			try{
				value = value.replace(",", "");
				return Double.valueOf(value);
			}catch(Exception e){
				return 0.0;
			}
		}
	}
	public static Double toDouble2(String value){
		if(StringUtils.isBlank(value) || value.equals("--") || value.equals("-")){
			return null;
		}else{
			try{
				value = value.replace(",", "");
				return Double.valueOf(value);
			}catch(Exception e){
				return null;
			}
		}
	}
	public static Double multiple10000(String value){
		Double d = toDouble2(value);
		if(d==null){
			return null;
		}
		return d*10000;
	}
	public static Double divide10000(String value){
		Double d = toDouble2(value);
		if(d==null){
			return null;
		}
		return d/10000;
	}
	
	public static Long toLong(String value){
		if(StringUtils.isBlank(value) || value.equals("--") || value.equals("-")){
			return 0L;
		}else{
			try{
				value = value.replace(",", "");
				return Long.valueOf(value);
			}catch(Exception e){
				return 0L;
			}
		}
	}
	public static Integer toInteger(String value){
		if(StringUtils.isBlank(value) || value.equals("--") || value.equals("-")){
			return 0;
		}else{
			try{
				value = value.replace(",", "");
				return Integer.valueOf(value);
			}catch(Exception e){
				return 0;
			}
		}
	}
}
